package com.irdstudio.efp.riskm.service.facade;

import com.irdstudio.efp.riskm.service.vo.RscWarnLoanVO;

import java.util.List;

/**
 * <p>Description:风险预警台账				<p>
 * @author chenqm1
 * @date 2018-05-07
 */
public interface RscWarnLoanService {
	
	public List<RscWarnLoanVO> queryAllOwner(RscWarnLoanVO rscWarnLoanVo);
	
	public List<RscWarnLoanVO> queryAllCurrOrg(RscWarnLoanVO rscWarnLoanVo);
	
	public List<RscWarnLoanVO> queryAllCurrDownOrg(RscWarnLoanVO rscWarnLoanVo);
	
	public int insertRscWarnLoan(RscWarnLoanVO inRscWarnLoanVo);
	
	public int deleteByPk(RscWarnLoanVO rscWarnLoanVo);
	
	public int updateByPk(RscWarnLoanVO rscWarnLoanVo);
	
	public RscWarnLoanVO queryByPk(RscWarnLoanVO rscWarnLoanVo);

	public List<RscWarnLoanVO> queryRscWarnLoanOut(RscWarnLoanVO inRscWarnLoanVo);
	//查询未结清合同最新的风险预警信息
	public List<RscWarnLoanVO> queryByContNo();
	//查询该客户下最新一次所有的风险预警信息
	public List<RscWarnLoanVO> queryBytaskNo(RscWarnLoanVO rscWarnLoanVO);
	/**
	 * 根据证件号码列表查询风险预警台账
	 * @param warn 查询条件
	 * @return
	 */
	public List<RscWarnLoanVO> queryRscWarnLoanByContNos(RscWarnLoanVO inRscWarnLoanVo, List<String> contNos);


	public int updateRscData(RscWarnLoanVO rscWarnLoanVO);

	public RscWarnLoanVO queryByCond(RscWarnLoanVO inRscWarnLoanVo);

	public List<RscWarnLoanVO> queryExAllOwner(RscWarnLoanVO vo);

	public List<RscWarnLoanVO> queryExAllCurrOrg(RscWarnLoanVO vo);

	public List<RscWarnLoanVO> queryExAllCurrDownOrg(RscWarnLoanVO vo);

	public int deleteAllUserinfo(String dblNo,String custNo);

	public int batchInsertRscData(List<RscWarnLoanVO> rscWarnLoanList);

	public List<RscWarnLoanVO> queryByCondByPage(RscWarnLoanVO inRscWarnLoanVo);

	/**
	 * 通过短信发送标识查询数据
	 *
	 * @param inRscWarnLoanVo
	 * @return
	 */
	 public List<RscWarnLoanVO> queryBySendFlagByPage(RscWarnLoanVO inRscWarnLoanVo);
	 public List<RscWarnLoanVO> queryByDealFlagByPage(RscWarnLoanVO inRscWarnLoanVo);

	/**
	 *通过短信发送标识查询数据统计数据量
	 *
	 * @return
	 */
	public int queryBySendFlagCount();
	public int queryByDealFlagCount();

	/**
	 *通过借据号更新短信发送标识
	 *
	 * @param rscWarnLoanVo
	 * @return
	 */
	public int updateSendFlagByBillNo(RscWarnLoanVO rscWarnLoanVo);
	public int updateDealFlagByBillNo(RscWarnLoanVO rscWarnLoanVo);

    List<RscWarnLoanVO> queryByCertCode(String certCode, String certType) throws Exception;

	/**
	 * 优e贷使用
	 *
	 * @param inRscWarnLoanVo
	 * @return
	 */
	public List<RscWarnLoanVO> query2BySendFlagByPage(RscWarnLoanVO inRscWarnLoanVo);
	public List<RscWarnLoanVO> query2ByDealFlagByPage(RscWarnLoanVO inRscWarnLoanVo);

	public int query2BySendFlagCount();
	public int query2ByDealFlagCount();
}
